#e
#Title[buViفv]
#Text[]
#PlayLevel[eޗp]
#Image[.\img\study012.png]
#BackGround[Default]
#BGM[\bgm\Rin's Theme.mp3]
#ScriptVersion[2]

script_enemy_main {
	let imgEnemy = GetCurrentScriptDirectory ~ "img\s_rin.png";
	#include_function ".\lib\lib_common.txt"
        LoadUserShotData(GetCurrentScriptDirectory ~ "img\shot_All.txt");

	@Initialize {
		SetMovePosition02(GetCenterX, GetClipMinY + 90, 60);
		SetLife(600);
		SetDamageRate(20,20);
		SetScore(700000);
		SetTimer(70);
		CutIn(KOUMA, "buViفv", "script\img\s_rin1.png", 129, 0, 256, 256);
		LoadGraphic(imgEnemy);
		SetTexture(imgEnemy);
		SetEnemyMarker(true);
		SetGraphicRect(1, 1, 34, 66);
		SetInvincibility(210);

		mainTask;

	}

	@MainLoop {
		SetCollisionA(GetX, GetY, 24);
		SetCollisionB(GetX, GetY, 24);
		yield;
	}

	@DrawLoop {
		SetColor(255,255,255);
		SetRenderState(ALPHA);
		SetTexture(imgEnemy);
		DrawGraphic(GetX, GetY);
	}

	@Finalize  {
		DeleteGraphic(imgEnemy);
	}

	task mainTask {

		loop(80){yield;}

		loop{Concentration01(70);
		PlaySE(se_ch02);
		loop(70){yield;}

		CreateShotA("shot", GetX, GetY, 0);
		SetShotDataA("shot", 0, 3.5, 180, 0, 0, 3.5, RED03);
		SetShotDataA("shot", 40, (GetPlayerY-GetY)/40, 90, 0, 0, (GetY-GetPlayerY)/40, RED03);
		SetShotDataA("shot", 80, 4.5, 0, 0, 0, 4.5, RED03);
		PlaySE(se_tan01);

		let i=0;
		while(i<12)
			{let shot1= 1;
			CreateShotA(shot1, 0, 0, 0);
			SetShotDataA(shot1, 0, 0, 0, 0, 0, 0, RED01);

			let shot2= 2;
			let angle= rand(0, 360/7);
			while(angle<360){
			CreateShotA(shot2, 0, 0, 0);
			SetShotDataA(shot2, 0, 3, angle, 0, -0.1, 0, RED04);
			SetShotDataA(shot2, 180, 0, angle, 0, 0.1, 1.2, RED04);
			AddShot(0, shot1, shot2, 0);
			angle+= 360/7;
			}
			SetShotKillTime(shot1, 1);
			AddShot(i*20+20, "shot", shot1, i*20);

			i++;
		}

		FireShot("shot");

		loop(120){yield;}

		CreateShotA("shot", GetX, GetY, 0);
		SetShotDataA("shot", 0, 3.5, 0, 0, 0, 3.5, GREEN03);
		SetShotDataA("shot", 40, (GetPlayerY-GetY)/40, 90, 0, 0, (GetY-GetPlayerY)/40, GREEN03);
		SetShotDataA("shot", 80, 4.5, 180, 0, 0, 4.5, GREEN03);
		PlaySE(se_tan01);

		let i=0;
		while(i<12)
			{let shot1= 1;
			CreateShotA(shot1, 0, 0, 0);
			SetShotDataA(shot1, 0, 0, 0, 0, 0, 0, GREEN01);

			let shot2= 2;
			let angle= rand(0, 360/7);
			while(angle<360){
			CreateShotA(shot2, 0, 0, 0);
			SetShotDataA(shot2, 0, 3, angle, 0, -0.1, 0, GREEN04);
			SetShotDataA(shot2, 180, 0, angle, 0, 0.1, 1.2, GREEN04);
			AddShot(0, shot1, shot2, 0);
			angle+= 360/7;
			}
			SetShotKillTime(shot1, 1);
			AddShot(i*20+20, "shot", shot1, i*20);

			i++;
		}

		FireShot("shot");

		loop(30){yield;}
		PlaySE(se_kira00);
		loop(150){yield;}
		PlaySE(se_kira00);
		loop(110){yield;}

		Concentration01(70);
		PlaySE(se_ch00);
		loop(70){yield;}

		PlaySE(se_tan00);
		CreateShot01(GetX, GetY, 3, GetAngleToPlayer-60, BLUE03, 0);
		CreateShot01(GetX, GetY, 3, GetAngleToPlayer-30, RED03, 0);
		CreateShot01(GetX, GetY, 3, GetAngleToPlayer, GREEN03, 0);
		CreateShot01(GetX, GetY, 3, GetAngleToPlayer+30, WHITE03, 0);
		CreateShot01(GetX, GetY, 3, GetAngleToPlayer+60, YELLOW03, 0);

		loop(5){CreateShot01(GetX, GetY, rand(1.5, 2.5), rand(GetAngleToPlayer-55, GetAngleToPlayer-65), BLUE01, 0);
		CreateShot01(GetX, GetY, rand(1.5, 2.5), rand(GetAngleToPlayer-25, GetAngleToPlayer-35), RED01, 0);
		CreateShot01(GetX, GetY, rand(1.5, 2.5), rand(GetAngleToPlayer-5, GetAngleToPlayer+5), GREEN01, 0);
		CreateShot01(GetX, GetY, rand(1.5, 2.5), rand(GetAngleToPlayer+25, GetAngleToPlayer+35), WHITE01, 0);
		CreateShot01(GetX, GetY, rand(1.5, 2.5), rand(GetAngleToPlayer+55, GetAngleToPlayer+65), YELLOW01, 0);
		}

		loop(10){CreateShot01(GetX, GetY, rand(0.5, 1.5), rand(GetAngleToPlayer-55, GetAngleToPlayer-65), BLUE23, 0);
		CreateShot01(GetX, GetY, rand(0.5, 1.5), rand(GetAngleToPlayer-25, GetAngleToPlayer-35), RED23, 0);
		CreateShot01(GetX, GetY, rand(0.5, 1.5), rand(GetAngleToPlayer-5, GetAngleToPlayer+5), GREEN23, 0);
		CreateShot01(GetX, GetY, rand(0.5, 1.5), rand(GetAngleToPlayer+25, GetAngleToPlayer+35), WHITE23, 0);
		CreateShot01(GetX, GetY, rand(0.5, 1.5), rand(GetAngleToPlayer+55, GetAngleToPlayer+65), YELLOW23, 0);
		}

		loop(110){yield;}

		}
	}
}